package passwordCheckerPrimeiraIteracao.testes;

import static org.junit.Assert.assertEquals;

import java.util.Arrays;
import java.util.Collection;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;

import passwordCheckerPrimeiraIteracao.PasswordCheckerBasePrimeiraIteracao;

@RunWith(Parameterized.class)
public class RegraDosSimbolosTest {
	private int pontuacaoEsperada;
	private String inputPassword;

	public RegraDosSimbolosTest(String pInputPassword, int pPontuacaoEsperada) {
		this.inputPassword = pInputPassword;
		this.pontuacaoEsperada = pPontuacaoEsperada;
	}

	@Parameterized.Parameters
	public static Collection RegraDosSimbolosData() {
		return Arrays
				.asList(new Object[][] { { "luiz", 0 }, { "luiz#$", 5 }, });
	}

	@Test
	public void RegraDosSimbolosValidation() {
		assertEquals(pontuacaoEsperada,
				(PasswordCheckerBasePrimeiraIteracao
						.regraDosSymbolos(inputPassword)));
	}
}
